Managed devices and in particular machine to machine (M2M) devices may be used in many different situations and incorporated into a variety of different items and hardware. Typically these managed devices will have low computing resources, be restricted in power and have restricted functionality. Nevertheless, large networks of such managed devices may be developed that require maintenance, control and other interaction. Furthermore, these networks of managed devices may be of different types and ages and may also have different versions of software and firmware installed. This increases the complexity of the network as a whole and that of device managers used to control the networks and individual devices within the networks.
One way of ensuring that networks formed from different devices (or similar devices having different types of software and firmware) are managed is to maintain information about individual devices within each device manager. A device manager may then receive data from or send data to each individual device according to a correct communication protocol and in the correct format, for example. When errors are made and especially when data are sent to devices in the field with an erroneous format or when commands are sent that are not correctly interpreted by individual devices, then this may cause managed devices to perform incorrectly or even to fail. By the nature of these managed devices, it may be difficult or impossible to manually intervene or reset a device, especially if it is embedded in hardware that is difficult to access or has no particular maintenance schedule. Furthermore, with limited on-board functionality, each managed device may not necessarily have adequate resources to report an error or to recover from such a situation.
This increases the burden on the device managers and users or instructing applications that must ensure that device managers are up to date with managed device types and software versions. This problem gets more difficult as the number of devices and types of devices in a network increases.
Therefore, there is required a method and system for managing devices that overcomes these problems.